"""
连续数字最大乘积

在下面的1000个正整数中，连续4个数字的最大乘积是 9 × 9 × 8 × 9 = 5832。
找出这个1000个正整数中乘积最大的连续的13个数字，求它们的乘积。
s='7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843
8586156078911294949545950173795833195285320880551112540698747158523863050715693290963295227443043557
6689664895044524452316173185640309871112172238311362229893423380308135336276614282806444486645238749
3035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776
6572733300105336788122023542180975125454059475224352584907711670556013604839586446706324415722155397
5369781797784617406495514929086256932197846862248283972241375657056057490261407972968652414535100474
8216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586
1786645835912456652947654568284891288314260769004224219022671055626321111109370544217506941658960408
0719840385096245544436298123098787992724428490918884580156166097919133875499200524063689912560717606
0588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450'
"""

with open("/Users/fg/Desktop/python/python3欧拉计划/连续数字最大积.txt","r") as num:
    s=num.read()
max_num=0
ss_str=''
for i in range(0,987):
    ss=s[i:i+13]
    if '0' not in ss:
        ss_max=1
        for j in ss:
            ss_max*=int(j)
        if(ss_max>max_num):
            ss_str=ss
            max_num=ss_max
print("13个连续数字是：{}，乘积是：{}".format(ss_str,max_num))





#将以上数据复制到txt文件：secries.txt
# an=[]#存储数据
# for line in open(r'C:\Users\GWT9\Desktop\ss.txt'):#读取数据
#     for i in line:
#         for j in i:
#             if j!='\n':
#                 an.append(int(j))
# zuida=13        
# fan={}#存储连续13个数字的乘积
# for i in range(0,len(an)+1-zuida):
#     ss=1
#     for j in an[i:i+zuida]:
#         ss*=j
#     fan[i]=ss
# #选择字典中值最大的对应的键值
# maxkey=max(fan.items(),key=lambda x:x[1])
# print(an[maxkey[0]:maxkey[0]+zuida])#[5, 5, 7, 6, 6, 8, 9, 6, 6, 4, 8, 9, 5]
# print(maxkey)
# 答案：23514624000
